#include <stdlib.h>
#include <stdio.h>
typedef char DataType;
typedef struct Node {
  DataType data;/*数据域*/
  struct Node *leftChild;/*左子树指针*/
  struct Node *rightChild;/*右子树指针*/
} BiTreeNode;
void create_tree(BiTreeNode ** root_pp, char * pre_order_seq, int num_elements);
void pre_order_traverse(BiTreeNode *t, void visit(DataType item));
void in_order_traverse(BiTreeNode *t, void visit(DataType item));
void post_order_traverse(BiTreeNode *t, void visit(DataType item));
BiTreeNode * search(BiTreeNode *root, DataType x);
void Visit(DataType item);
void destroy(BiTreeNode **root);